package com.bstek.uflo.designer.security.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "UFLO_D_PROCESS_ENTRY")
public class ProcessEntry implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "ID_", length = 36)
	private String id;

	@Column(name = "NAME_", length = 36)
	private String name;

	@Column(name = "PROCESS_ID_")
	private long processId;

	@Column(name = "MODIFIABLE_")
	private boolean modifiable;

	@Column(name = "ADDABLE_")
	private boolean addable;

	@Column(name = "CREATE_DATE_")
	private Date createDate;

	@Transient
	private List<ProcessAttribute> processAttributeList;

	@Transient
	private List<NodeEntry> nodeEntrylist;

	@Transient
	private List<ProcessEntryAssignee> processEntryAssigneeList;

	@Transient
	private List<NodeSecurityAttribute> nodeSecurityAttributeList;

	public ProcessEntry() {

	}

	public ProcessEntry(long processId, boolean modifiable, boolean addable) {
		super();
		this.processId = processId;
		this.modifiable = modifiable;
		this.addable = addable;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public long getProcessId() {
		return processId;
	}

	public void setProcessId(long processId) {
		this.processId = processId;
	}


	public boolean isModifiable() {
		return modifiable;
	}

	public void setModifiable(boolean modifiable) {
		this.modifiable = modifiable;
	}

	public boolean isAddable() {
		return addable;
	}

	public void setAddable(boolean addable) {
		this.addable = addable;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public List<ProcessAttribute> getProcessAttributeList() {
		return processAttributeList;
	}

	public void setProcessAttributeList(List<ProcessAttribute> processAttributeList) {
		this.processAttributeList = processAttributeList;
	}

	public List<NodeEntry> getNodeEntrylist() {
		return nodeEntrylist;
	}

	public void setNodeEntrylist(List<NodeEntry> nodeEntrylist) {
		this.nodeEntrylist = nodeEntrylist;
	}

	public List<ProcessEntryAssignee> getProcessEntryAssigneeList() {
		return processEntryAssigneeList;
	}

	public void setProcessEntryAssigneeList(List<ProcessEntryAssignee> processEntryAssigneeList) {
		this.processEntryAssigneeList = processEntryAssigneeList;
	}

	public List<NodeSecurityAttribute> getNodeSecurityAttributeList() {
		return nodeSecurityAttributeList;
	}

	public void setNodeSecurityAttributeList(List<NodeSecurityAttribute> nodeSecurityAttributeList) {
		this.nodeSecurityAttributeList = nodeSecurityAttributeList;
	}

}
